package com.hw.protocol.tool.config;

/**
 * @author : lihy
 * @date : 2023/12/4 9:26
 * description:
 */

public enum ObjIdEnum {
    /**
     * 标况体积
     */
    H2110(8464, "2110"),
    /**
     * 工况体积
     */
    H2111(8465, "2111"),
    /**
     * 流量计读数
     */
    H8A00(35328, "8A00"),
    /**
     * 余额
     */
    H8A03(35331, "8A03"),
    /**
     * 累计使用金额
     */
    H8151(33105, "8151"),
    /**
     * 累计充值金额
     */
    H8152(33106, "8152"),
    /**
     * 结算类型
     */
    H8100(33024, "8100"),
    /**
     * 控制器状态
     */
    H8B01(35585, "8B01"),
    /**
     * 仪表当前时间
     */
    H0002(2, "0002"),
    /**
     * 通信模式
     */
    H2005(8197, "2005"),
    /**
     * 主电池电压
     */
    H0004(4, "0004"),
    /**
     * 备电池电压
     */
    H0006(6,"0006"),
    /**
     * 触发本次通信的事件
     */
    H8A0B(35339, "8A0B"),
    /**
     * 上次通信前电压值
     */
    HA044(41028, "A044"),
    /**
     * 上次通信过程中最低电压值
     */
    HA045(41029, "A045"),
    /**
     * 信号质量
     */
    H8157(33111, "8157"),
    /**
     * 最近1~5条高频用气记录(从1开始)
     */
    H8A05(35333, "8A05"),
    /**
     * 最近5~10条高频用气记录(从1开始)
     */
    H8A06(35334, "8A06"),
    /**
     * 最近11~15条高频用气记录(从1开始)
     */
    H8A07(35335, "8A07"),
    /**
     * 最近15~20条高频用气记录(从1开始)
     */
    H8A08(35336, "8A08"),
    /**
     * 最近21~25条高频用气记录(从1开始)
     */
    H8A09(35337, "8A09"),
    /**
     * 最近25~30条高频用气记录(从1开始)
     */
    H8A0A(35338, "8A0A"),
    /**
     * 单价
     */
    H000D(13, "000D"),
    /**
     * 余额
     */
    H000F(15, "000F"),
    /**
     * 关阀
     */
    H001E(30, "001E"),
    /**
     * 未定义
     */
    UNKNOWN(0, "未定义");


    private int id;
    private String code;

    ObjIdEnum(int id, String code) {
        this.id = id;
        this.code = code;
    }

    public int getId() {
        return id;
    }

    public String getCode() {
        return code;
    }

    public static ObjIdEnum getObjId(int id){
        for (ObjIdEnum value : ObjIdEnum.values()) {
            if(id == value.id){
                return value;
            }
        }
        return UNKNOWN;
    }
}
